package org.infosys.org.service;

import org.apache.commons.mail.EmailException;
import org.infosys.org.domain.Shop;
import org.infosys.basic.service.IBaseService;
import org.infosys.org.domain.ShopAuditLog;

import javax.mail.MessagingException;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hank
 * @since 2022-07-01
 */
public interface IShopService extends IBaseService<Shop> {

    /** 店铺入驻 */
    void settlement(Shop shop);

    /** 统计每个状态的店铺数量 */
    Map<String, Object> loadShopEcharsData();

    /** 店铺通过 */
    void pass(ShopAuditLog shopAuditLog) throws MessagingException, EmailException;

    /** 激活店铺 */
    void audit(Long id);

    /** 驳回店铺 */
    void reject(ShopAuditLog shopAuditLog) throws MessagingException, EmailException;

    /** 拒绝通过 */
    void refuse(ShopAuditLog shopAuditLog) throws MessagingException, EmailException;

    /** 导入 */
    void batchSave(List<Shop> shops);
}
